﻿' ----------------------------------------------------------------------------------
' Microsoft Developer & Platform Evangelism
' 
' Copyright (c) Microsoft Corporation. All rights reserved.
' 
' THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
' EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 
' OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ----------------------------------------------------------------------------------
' The example companies, organizations, products, domain names,
' e-mail addresses, logos, people, places, and events depicted
' herein are fictitious.  No association with any real company,
' organization, product, domain name, email address, logo, person,
' places, or events is intended or should be inferred.
' ----------------------------------------------------------------------------------

Imports System.IO
Imports System.Runtime.Serialization

Namespace Serializers
    Public Class QueueMessageDataContractSerializer
        Implements IDataContractSerializer(Of CloudQueueMessage)
        Private ReadOnly serializer As DataContractSerializer

        Public Sub New()
            Me.serializer = New DataContractSerializer(GetType(IEnumerable(Of CloudQueueMessage)), "QueueMessagesList", String.Empty)
        End Sub

        Public Function ReadObject(ByVal stream As Stream) As IEnumerable(Of CloudQueueMessage) Implements IDataContractSerializer(Of CloudQueueMessage).ReadObject
            Return TryCast(Me.serializer.ReadObject(stream), IEnumerable(Of CloudQueueMessage))
        End Function
    End Class
End Namespace